package com.ruicar.afs.cloud.common.modules.dto.mq.loan.contractdto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.common.modules.afscorebusiness.enums.WhetherEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @param
 * @author yk.Li
 * @description GPS申请表
 * @date 2020/7/22
 */
@Data
public class ContractGpsApplyDTO {
    /**
     * 合同号码
     */
    @JSONField(name = "contractNo")
    private String contractNo;
    /**
     * 车辆编号
     */
    @JSONField(name = "carId")
    private Long carId;
    /**
     * GPS供应商
     */
    @JSONField(name = "gpsSupplier")
    private String gpsSupplier;
    /**
     * 是否盗抢包
     */
    @JSONField(name = "isRobberyBag", serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    private WhetherEnum isRobberyBag;
    /**
     * GPS型号
     */
    @JSONField(name = "gpsProductNo")
    private String gpsProductNo;
    /**
     * 预安装时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "preInstallTime")
    private Date preInstallTime;
    /**
     * 贷款期限
     */
    @JSONField(name = "loanTerm")
    private Integer loanTerm;
    /**
     * 现场联系人
     */
    @JSONField(name = "siteContact")
    private String siteContact;
    /**
     * 联系人电话
     */
    @JSONField(name = "contactPhone")
    private String contactPhone;
    /**
     * 安装地址-省份
     */
    @JSONField(name = "installProvince")
    private String installProvince;
    /**
     * 安装地址-城市
     */
    @JSONField(name = "installCity")
    private String installCity;
    /**
     * 安装地址-区县
     */
    @JSONField(name = "installCounty")
    private String installCounty;
    /**
     * 安装地址-街道
     */
    @JSONField(name = "installStreet")
    private String installStreet;
    /**
     * 安装地址-详细
     */
    @JSONField(name = "installAddress")
    private String installAddress;
    /**
     * GPS申请状态
     */
    @JSONField(name = "applyStatus")
    private String applyStatus;
    /**
     * 工单号
     */
    @JSONField(name = "orderNo")
    private String orderNo;
    /**
     * 备注
     */
    @JSONField(name = "remarks")
    private String remarks;

}
